<?php

function wolfAddslashes($string, $force = 0) {
	!defined( 'MAGIC_QUOTES_GPC' ) && define( 'MAGIC_QUOTES_GPC', get_magic_quotes_gpc () );
	if( !MAGIC_QUOTES_GPC || $force ) {
		if( is_array ( $string ) ) {
			foreach( $string as $key => $val ) {
				$string[$key] = wolfAddslashes ( $val, $force );
			}
		} else {
			$string = addslashes ( $string );
		}
	}
	return $string;
}


function headerRedirect($url){
	header ("location:".$url);
	exit;
}

function firstBigChar($str){
	return ucfirst ( strtolower ( $str ) );	
}


function hashCode($string, $operation, $key = '') {
	!defined ( 'SITE_SELFKEY' ) && define( 'SITE_SELFKEY', '123456' );
    $key = md5($key ? $key : SITE_SELFKEY);
    $key_length = strlen($key);
    $string = $operation == 'DECODE' ? base64_decode($string) : substr(md5($string.$key), 0, 8).$string;
    $string_length = strlen($string);
    $rndkey = $box = array();
    $result = '';
    for($i = 0; $i <= 255; $i++) {
            $rndkey[$i] = ord($key[$i % $key_length]);
            $box[$i] = $i;
    }
    for($j = $i = 0; $i < 256; $i++) {
            $j = ($j + $box[$i] + $rndkey[$i]) % 256;
            $tmp = $box[$i];
            $box[$i] = $box[$j];
            $box[$j] = $tmp;
    }
    for($a = $j = $i = 0; $i < $string_length; $i++) {
            $a = ($a + 1) % 256;
            $j = ($j + $box[$a]) % 256;
            $tmp = $box[$a];
            $box[$a] = $box[$j];
            $box[$j] = $tmp;
            $result .= chr(ord($string[$i]) ^ ($box[($box[$a] + $box[$j]) % 256]));
    }
    if($operation == 'DECODE') {
            if(substr($result, 0, 8) == substr(md5(substr($result, 8).$key), 0, 8)) {
                return substr($result, 8);
            } else {
                return '';
            }
    } else {
            return str_replace('=', '', base64_encode($result));
    }
}

function getClientIP()
{
	if ( isset ( $_SERVER['HTTP_CLIENT_IP'] ) )
	{ 
    	$ip = $_SERVER['HTTP_CLIENT_IP']; 
	}
	elseif ( isset ($_SERVER['HTTP_X_FORWARDED_FOR'] ) )
	{ 
   		$ip = $_SERVER['HTTP_X_FORWARDED_FOR']; 
	}
	elseif ( isset ($_SERVER['REMOTE_ADDR'] ) )
	{ 
   		$ip = $_SERVER['REMOTE_ADDR']; 
	}
	else
	{ 
   		$ip = '127.0.0.1'; 
	}
	return $ip;
}

?>